"""
    使用 DDT的时候，需要下载对应的模块  pip install ddt

    数据源一般 也是 字典或者元组

    在一个测试类中想要使用 使用 ddt中的数据源需要在类 头部 来添加 @ddt 来修饰 并且需要在哎 测试方法上  添加 @data(数据源名称)

"""
import unittest









import ddt

from ltd.hanamaki.python.unittest.paramter.ioutil.FileUtils import get_file_data
from ltd.hanamaki.python.unittest.paramter.ioutil.FileUtils import get_file_excel_data
from ltd.hanamaki.python.unittest.paramter.util.MySQLConnectorPythonUtil import get_sql_data

dp1 = [
    ('hanamaki', '12345'),
    ('hanamaki', '12345'),
    ('hanamaki', '12345'),
    ('hanamaki', '12345'),
]

dp2 = [
    {'username': 'rose', 'password': 'jack'},
    {'username': 'yutou', 'password': '123456'},
]

dp3 = get_sql_data('python_test_table', 'username', 'password')
dp4 = get_file_data('C:\\Users\\edz\\Desktop\\PythonStudy0224\\ltd\\hanamaki\\python\\unittest\\ddt_paramter\\data.txt')
dp5 = get_file_excel_data('data.xlsx')


@ddt.ddt()
class MyTestCase(unittest.TestCase):

    @ddt.data(*dp1)
    def test_login(self, data):
        print('username：', data[0])
        print('password：', data[1])

    @ddt.data(*dp2)
    def test_login2(self, data):
        print('username：', data['username'])
        print('password：', data['password'])

    @ddt.data(*dp3)
    def test_login_sql(self, data):
        print('username：', data[0])
        print('password：', data[1])

    @ddt.data(*dp4)
    def test_login_txt(self, data):
        print('username：', data[0])
        print('password：', data[1])

    @ddt.data(*dp5)
    def test_login_excel(self, data):
        print('username：', data[0])
        print('password：', data[1])


if __name__ == '__main__':
    unittest.main()
